package huanzhao.erp.domain.types;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;

/**
 * @author April
 * 2024/6/13 上午11:26
 * @version 1.0
 */
@Getter
public enum PhoneState {
    WAIT_SIGN("未签收"),
    WAIT_DISTRIBUTE("待分货"),
    FIRST_CHECKING("初检中"),
    WAIT_DESIGNATE_QC("待分配质检"),
    QC("质检中"),
    PURCHASE_RETURN("采购退货中"),
    WAIT_ENTER("待录入"),
    WAIT_PUBLISH("待上架"),
    WAIT_CONFIRM_PUBLISH("待确认上架"),
    WAIT_STOCK("待入库"),
    PURCHASE_SEND_REPAIR("采购送修中"),
    REPAIR_EVALUATING("维修评估中"),
    WAIT_DESIGNATE_REPAIR("待分派维修"),
    REPAIRING("维修中"),
    WAIT_OUT_REPAIR_SHIP("送修待发货"),
    WAIT_OUT_REPAIR_SIGN("送修待取回"),
    WAIT_FILL_OUT_REPAIR_RESULT("待填报送修结果"),
    WAIT_RECEIVE_REPAIR("库房待接收维修"),
    RE_CHECKING("二次检查中"),
    CHECKING_WHEN_TRANSFER("转库检查中"),
    WAIT_SALE("待销售"),
    OUTBOUND_ONLY("仅出库"),
    WAIT_SETTLE_WHEN_SALE("销售收入待结算"),
    WAIT_RETURN_WHEN_SALE("销售待退货"),
    CHECKING_AFTER_RETURN("退货后检查中"),
    // WAIT_AFTER_SALE("销售待售后"),
    WAIT_SIGN_IN_AS("售后待签收"),
    WAIT_RECEIVE_IN_AS("售后待接收"),
    REPAIR_EVALUATING_IN_AS("售后维修评估中"),
    WAIT_DESIGNATE_REPAIR_IN_AS("售后维修待分派"),
    WAIT_OUT_REPAIR_SHIP_IN_AS("售后送修待发货"),
    WAIT_OUT_REPAIR_SIGN_IN_AS("售后送修待取回"),
    REPAIRING_IN_AS("售后维修中"),
    WAIT_FILL_OUT_REPAIR_RESULT_IN_AS("售后维修待填报结果"),
    WAIT_RECEIVE_REPAIR_IN_AS("售后维修待接收"),
    WAIT_SHIP_IN_AS_FINISHED("售后完成待发货"),

    RETURNED("已退货"),
    STOCKED("已入库"),
    SOLD("已售出"),
    SHIPPED_IN_AS("售后已发货");

    @EnumValue
    @JsonValue
    private final String value;

    @Override
    public String toString() {
        return this.value;
    }

    PhoneState(String value) {
        this.value = value;
    }
}
